/**
 * 场景管理相关接口
 * @file scene.js
 */
import request from '@/utils/request'

/**
 * 获取场景列表
 * @param {Object} params - 查询参数
 * @param {number} [params.page_index=1] - 页码
 * @param {number} [params.page_size=10] - 每页条数
 * @param {string} [params.scene_name] - 场景名称(可选)
 * @returns {Promise} 返回请求结果
 */
export function getSceneList(params) {
  return request({
    url: '/scene_topo/get',
    method: 'get',
    params
  })
}

/**
 * 添加场景
 * @param {Object} data - 场景数据
 * @param {string} data.scene_name - 场景名称
 * @param {string} data.scene_desc - 场景描述
 * @param {string} data.scene_dbus_type - 适用总线类型，多个以逗号分隔
 * @param {string} data.creator - 创建者
 * @returns {Promise} 返回请求结果
 */
export function addScene(data) {
  return request({
    url: '/scene/inset',
    method: 'post',
    data
  })
}

/**
 * 修改场景
 * @param {Object} data - 场景数据
 * @param {number} data.id - 场景ID
 * @param {string} [data.scene_name] - 场景名称(可选)
 * @param {string} [data.scene_desc] - 场景描述(可选)
 * @param {string} [data.scene_dbus_type] - 适用总线类型(可选)
 * @param {string} [data.creator] - 创建者(可选)
 * @returns {Promise} 返回请求结果
 */
export function updateScene(data) {
  return request({
    url: '/scene/update',
    method: 'put',
    data
  })
}

/**
 * 删除/恢复场景
 * @param {Object} data - 场景数据
 * @param {number} data.id - 场景ID
 * @param {boolean} data.status - 状态(false表示删除，true表示恢复)
 * @returns {Promise} 返回请求结果
 */
export function deleteScene(data) {
  return request({
    url: '/scene/status',
    method: 'delete',
    data
  })
} 